SSH File Transfer(Ubuntu)
2014/04/18 |
It's possible to transfer files with SSH.
|
|
[1] | It's the exmaple for using SCP (Secure Copy). |
# scp [Option] Source Target
# copy the [test.txt] on local to remote server [www.srv.world] trusty@dlp:~$ scp ./test.txt trusty@www.srv.world:~/ trusty@10.0.0.30's password: # password of the user test.txt 100% 10 0.0KB/s 00:00 # copy the [/home/trusty/test.txt] on remote server [www.srv.world] to the local trusty@dlp:~$ scp trusty@www.srv.world:/home/trusty/test.txt ./test.txt trusty@10.0.0.30's password: test.txt 100% 10 0.0KB/s 00:00 |
[2] | It's example to use SFTP (SSH File Transfer Protocol). SFTP server function is enabled by default, but if not, enable it to add the line [Subsystem sftp /usr/lib/openssh/sftp-server] in [/etc/ssh/sshd_config]. |
# sftp [Option] [user@host] ubuntu@dlp:~$ sftp trusty@www.srv.world trusty@www.srv.world's password: # password of the user Connected to www.srv.world. sftp> # show current directory on remote server sftp> pwd Remote working directory: /home/trusty # show current directory on local server sftp> !pwd /home/ubuntu # show files in current directory on FTP server sftp> ls -l drwxrwxr-x 2 trusty trusty 6 Jul 29 21:33 public_html -rw-rw-r-- 1 trusty trusty 10 Jul 28 22:53 test.txt # show files in current directory on local server sftp> !ls -l total 4 -rw-rw-r-- 1 ubuntu ubuntu 10 Jul 29 21:31 test.txt # change directory sftp> cd public_html sftp> pwd Remote working directory: /home/trusty/public_html # upload a file to remote server sftp> put test.txt ubuntu.txt Uploading test.txt to /home/trusty/ubuntu.txt test.txt 100% 10 0.0KB/s 00:00 sftp> ls -l drwxrwxr-x 2 trusty trusty 6 Jul 29 21:33 public_html -rw-rw-r-- 1 trusty trusty 10 Jul 29 21:39 ubuntu.txt -rw-rw-r-- 1 trusty trusty 10 Jul 28 22:53 test.txt # upload some files to remote server sftp> put *.txt Uploading test.txt to /home/trusty/test.txt test.txt 100% 10 0.0KB/s 00:00 Uploading test2.txt to /home/trusty/test2.txt test2.txt 100% 0 0.0KB/s 00:00 sftp> ls -l drwxrwxr-x 2 trusty trusty 6 Jul 29 21:33 public_html -rw-rw-r-- 1 trusty trusty 10 Jul 29 21:39 ubuntu.txt -rw-rw-r-- 1 trusty trusty 10 Jul 29 21:45 test.txt -rw-rw-r-- 1 trusty trusty 10 Jul 29 21:46 test2.txt # download a file from remote server sftp> get test.txt Fetching /home/trusty/test.txt to test.txt /home/trusty/test.txt 100% 10 0.0KB/s 00:00 # download some files from remote server sftp> get *.txt Fetching /home/trusty/ubuntu.txt to ubuntu.txt /home/trusty/ubuntu.txt 100% 10 0.0KB/s 00:00 Fetching /home/trusty/test.txt to test.txt /home/trusty/test.txt 100% 10 0.0KB/s 00:00 Fetching /home/trusty/test2.txt to test2.txt /home/trusty/test2.txt 100% 10 0.0KB/s 00:00 # create a directory on remote server sftp> mkdir testdir sftp> ls -l drwxrwxr-x 2 trusty trusty 6 Jul 29 21:33 public_html -rw-rw-r-- 1 trusty trusty 10 Jul 29 21:39 ubuntu.txt -rw-rw-r-- 1 trusty trusty 10 Jul 29 21:45 test.txt -rw-rw-r-- 1 trusty trusty 10 Jul 29 21:46 test2.txt drwxrwxr-x 2 trusty trusty 6 Jul 29 21:53 testdir # delete a directory on remote server sftp> rmdir testdir rmdir ok, `testdir' removed sftp> ls -l drwxrwxr-x 2 trusty trusty 6 Jul 29 21:33 public_html -rw-rw-r-- 1 trusty trusty 10 Jul 29 21:39 ubuntu.txt -rw-rw-r-- 1 trusty trusty 10 Jul 29 21:45 test.txt -rw-rw-r-- 1 trusty trusty 10 Jul 29 21:46 test2.txt # delete a file on remote server sftp> rm test2.txt Removing /home/trusty/test2.txt sftp> ls -l drwxrwxr-x 2 trusty trusty 6 Jul 29 21:33 public_html -rw-rw-r-- 1 trusty trusty 10 Jul 29 21:39 ubuntu.txt -rw-rw-r-- 1 trusty trusty 10 Jul 29 21:45 test.txt # execute commands with "![command]" sftp> !cat /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin ... ... ubuntu:x:1001:1001::/home/ubuntu:/bin/bash # exit sftp> quit 221 Goodbye. |